Text functions


Data Structures

struct  OSL_FONT
struct  OSL_FONTINFO
struct  OSL_FONT_FORMAT_HEADER

Defines

#define oslSetFont(f)   (osl_curFont = f)

Functions

void oslInitConsole ()
OSL_FONToslLoadFontFile (const char *filename)
OSL_FONToslLoadFont (OSL_FONTINFO *fi)
void oslDrawChar (int x, int y, unsigned char c)
void oslDrawString (int x, int y, const char *str)
void oslConsolePrint (const char *str)
void oslSetTextColor (OSL_COLOR color)
void oslSetBkColor (OSL_COLOR color)
void oslDrawTextBox (int x0, int y0, int x1, int y1, const char *text, int format)
void oslDeleteFont (OSL_FONT *f)
int oslGetStringWidth (const char *str)
int oslGetTextBoxHeight (int width, int maxHeight, const char *text, int format)

Variables

OSL_FONTosl_curFont
int osl_consolePosX
int osl_consolePosY
OSL_FONTosl_sceFont

Detailed Description

Text functions in OSLib. Don't forget to look at the 'Debug Console' section (subsection of the 'Main' section).

Define Documentation

#define oslSetFont (  )     (osl_curFont = f)

Sets the current font. For forward compatibilty, please use this function rather than osl_curFont = yourFont.

//Save the current font
OSL_FONT *oldFont = osl_curFont;
//Temporarily set another font
oslSetFont(newFont);
oslPrintf("Using the new font.\n");
//Restore the old font
oslSetFont(oldFont);
oslPrintf("Using the normal font.\n");


Function Documentation

void oslInitConsole (  ) 

Initializes the console. You do not need to call this anymore, as it's automatically done upon oslInitGfx.

OSL_FONT* oslLoadFontFile ( const char *  filename  ) 

Loads a font from a file. Remember that you can load virtual files located in RAM, see the VirtualFile section for more information. Also, there is an application (font2osl) which converts fonts to the OldSchool Library Font format (.oft).

OSL_FONT *f = oslLoadFontFile("verdana.oft");
oslSetFont(f);
oslDrawString(0, 0, "Hello world using verdana!");

OSL_FONT* oslLoadFont ( OSL_FONTINFO fi  ) 

Loads a font from a OSL_FONTINFO file (located in RAM). Rather use oslLoadFontFile, which is more friendly.

void oslDrawChar ( int  x,
int  y,
unsigned char  c 
)

Draws a single character at the specified x and y positions. If you must draw several characters placed one after the other, use oslDrawString, as indiviudal oslDrawChar calls will be slightly slower.

void oslDrawString ( int  x,
int  y,
const char *  str 
)

Draws a string litteral at the specified x and y positions.

oslDrawString(0, 0, "Test string");

void oslConsolePrint ( const char *  str  ) 

Outputs a text to the console at the current cursor position, and moves it. Here for debugging purposes, not very useful in a game.

void oslSetTextColor ( OSL_COLOR  color  ) 

Sets the current text color.

void oslSetBkColor ( OSL_COLOR  color  ) 

Sets the text background color. Setting a transparent color (e.g. RGBA(0, 0, 0, 0)) will disable drawing a background. In this case, the text rendering will be faster.

void oslDrawTextBox ( int  x0,
int  y0,
int  x1,
int  y1,
const char *  text,
int  format 
)

Draws a text box, that is, text contained in a rectangle. The text will automatically be wrapped at the end of a line and be placed below.

Parameters:
x0,y0 Top-left corner of the text box.
x1,y1 Bottom-right corner of the text box.
text Text to be drawn. Can contain
characters to make a carriage return.
format Let it 0.

void oslDeleteFont ( OSL_FONT f  ) 

Deletes a font.

Warning: the font must NOT be currently selected (that is f != osl_curFont) else your program will crash the next time you'll try to draw a character (or later).

int oslGetStringWidth ( const char *  str  ) 

Returns the size (in pixels) of a text, using the currently selected font. Note that you can get the height of the text and some other parameters by exploring the OSL_FONT structure. The following sample shows you how to center a text horizontally and align it to the bottom of the screen:

const char *text = "© 2007 Brunni";
int width = oslGetStringWidth(text);
oslDrawString((SCREEN_WIDTH - width) / 2, SCREEN_HEIGHT - osl_curFont->charHeight, text);

int oslGetTextBoxHeight ( int  width,
int  maxHeight,
const char *  text,
int  format 
)

Returns the height (in pixels) which would take a text box drawn with oslDrawTextBox.


Variable Documentation

OSL_FONT* osl_curFont

Current font. You can read from it but please do not write to it, use oslSetFont instead.

int osl_consolePosX

Console horizontal position (in pixels). Use oslMoveTo to move the cursor.

int osl_consolePosY

Console vertical position (in pixels).

OSL_FONT* osl_sceFont

System OSLib font.


Generated on Sat Dec 1 13:29:01 2007 by  doxygen 1.5.2